{{tag>Bionic application format paquet}}

----
{{ https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/App-image-logo.svg/220px-App-image-logo.svg.png?100}}
====== Appimage ======

Le format de paquets **Appimage** ([[wpfr>appimage|voir sur Wikipédia]]) permet de distribuer des logiciels de manière portable sur n'importe quelle distribution Linux, y compris Ubuntu.

Le but est de pouvoir déployer des applications par une procédure simple, assurant une grande compatibilité et évitant d’altérer le système hôte.

===== Avantages et inconvénients =====

==== Avantages ====

La grande force d'**Appimage** réside dans le fait que ce format ne nécessite **__aucun__ pré-requis** (sauf une connexion internet pour récupérer les Appimages):
  * aucun droit d'administration nécessaire pour installer.
  * un seul fichier gère tout le logiciel : aucun paquet ni aucune librairie à installer préalablement (le paquet embarque ses propres dépendances). Cela peut permettre à des logiciels assez anciens de continuer à fonctionner, alors que leurs dépendances ont été retirés pour obsolescence des versions modernes d'Ubuntu. A l'inverse, cela permet aussi d'avoir en avance de phase une nouvelle version pas encore déployée sur Ubuntu.
==== Inconvénients ====

Il existe 5 inconvénients principaux :

  - Il n'y a **aucune mise à jour** automatisée, que ce soit pour de nouvelles fonctionnalités ou pour les corrections de failles de sécurité. Il faudra aller **chercher soit-même les nouvelles versions** quand elles sortent.
  - Il n'y a aucune intégration au système, pas même une apparition dans votre menu des applications (à noter que l'utilitaire **AppImage Launcher** peu règler ces 2 premiers problèmes - cf. le chapitre "Installation").
  - Un paquet appimage embarque ses dépendances et est sensiblement plus gros et lourd que son équivalent en .deb.
  - Le lancement du logiciel est un peu plus lent que pour un logiciel classique en .deb, venu des dépôts.
  - Une distribution contrôle les paquets qu'elle met dans les dépôts, ce qui réduit le risque de logiciels fortement bugués ou fortement agressifs (logiciels espions, ...). Un appimage est téléchargé depuis Internet, sans le contrôle de votre distribution. Il est donc toujours possible que le logiciel représente un danger de sécurité.

Indépendamment des avantages et inconvénients, certains (rares) logiciels ne sont de toute façon déployés que dans ce format, vous n'aurez alors pas le choix.
===== Installer un appimage =====

En résumé, l'installation se déroule en 4 étapes :
  - récupérer le fichier Appimage en le téléchargeant sur internet.
  - Le déposer dans un répertoire quelconque (par exemple **/Documents/appimage**).
  - Autoriser son exécution (//clic-droit sur l'Appimage -> Propriétés -> Permissions -> Autoriser l'exécution//)
  - Optionnel : créer un [[raccourci-lanceur|lanceur]] qui fera apparaître le programme dans votre menu des applications. Sinon, il faudra lancer l'Appimage en double cliquant dessus dans son répertoire.
PS : si les appimages ne se lancent pas (en double-cliquant sur le fichier), lancez cette commande pour installer une librairie additionnelle <code>sudo apt install libfuse2</code>

**Automatisation** : pour les points 3 et 4 (autoriser l'exécution et créer un raccourci dans le menu d'Ubuntu), il existe une application **AppImageLauncher**. Téléchargez la en version **.deb** [[https://github.com/TheAssassin/AppImageLauncher/releases|sur le site du développeur]] (normalement il vous faut la version AMD64). Puis installez la, lancez la (**AppImage Launcher Settings**) et paramétrez la. Désormais, un programme résident surveille le démarrage de toute AppImage. A l'avenir, dès un 1er lancement (en cliquant dessus) :
  * l'appimage est activée en exécution, 
  * une icône est créée sans vous poser de question dans le menu Ubuntu,
  * le programme Appimage est déplacé dans le répertoire que vous aurez défini dans les paramètres de Appimage Launcher,
  * enfin, __si__ l'application en Appimage a une fonctionnalité de mise à jour distante, une offre de mise à jour vers une éventuelle nouvelle version vous sera proposée.
**AppImageLauncher** simplifie donc fortement l'installation et la mise à jour des Appimages.
==== Se procurer le fichier ====

Il faut tout d'abord se procurer le fichier appimage de l'application qu'on veut utiliser. Vous pouvez le télécharger, ou l'amener sur votre ordinateur via une clé USB. Les fichiers en question n'ont hélas pas toujours l'extension ''.appimage'' ce qui ne facilite pas la compréhension de ce format par les débutants.

<note important>AppImage est le seul format de packaging existant sans gestionnaire de paquet ni dépôt : il faut chercher les applications en ligne soi-même, **faites attention à la fiabilité du site** sur lequel vous vous procurez l'AppImage.

Si on peut ponctuellement se procurer des logiciels Appimage sur le site officiel du développeur de l'application, sachez qu'il existe un « Appimage Store » officiel. [[https://appimage.github.io/apps/|Le AppimageHub officiel Linux]].\\
Il y a aussi le site [[https://apprepo.de]] qui en propose bon nombre en précisant bien **À vos risques et périls**
</note>

<note tip>Des logiciels comme par exemple [[:Krita]]((Exemple d'application disponible au format appimage : https://krita.org/fr/telechargement/krita-desktop/)), Subsurface, [[:kdenlive]] ou [[:Openshot]] fournissent les fichiers appimage directement sur leur page web officielle, on peut donc leur faire confiance.

Arduino, [[:Blender]], Chromium, [[:Firefox]] ou encore [[:LibreOffice]] disposent aussi d'une installation par AppImage si besoin, mais de manière moins officielle((Le site https://bintray.com/probono/AppImages fournit des AppImages pour divers logiciels, avec l'aval et la confiance d'appimage.org)).</note>

==== Modification des permissions ====

Tout d'abord, placez vos fichiers appimage dans un dossier où ils pourront rester : si vous les supprimez par erreur, l'application sera supprimée !

Il va falloir **[[:permissions#modifier_les_permissions|rendre le fichier exécutable]]**. Cela peut être fait :
  * Graphiquement (//clic-droit sur l'appimage -> Propriétés -> Permissions -> Autoriser l'exécution//) ;
  * En ligne de commande (pour une application fictive nommée truc) : \\ <code>chmod a+x truc.appImage</code>

<note help>Le format appimage est en fait une archive, qui contient le logiciel et toutes les bibliothèques dont il dépend, si vous oubliez de le rendre exécutable, l'archive se montera comme un simple disque amovible, explorable avec un gestionnaire de fichiers !</note>

===== Lancer un appimage =====

Pour lancer un appimage, il existe 4 possibilités :
  - double cliquer sur le fichier appimage.
  - en ligne de commande, taper le nom du programme avec tout le chemin qui y mène. Par exemple pour Audacity, si ce dernier se trouve dans un répertoire **/Documents/appimage/**, il faudra taper : **~/Documents/appimage/audacity-linux-3.1.3-x86_64.AppImage**
  - Créer __automatiquement__ un [[raccourci-lanceur|lanceur]] dans le menu des applications Ubuntu via le programme **Appimage Launcher** (cf. chapitre 2).
  - Créer __manuellement__ un [[raccourci-lanceur|lanceur]], qu'on placera dans le répertoire caché **/.local/share/applications**, et qui apparaitra ainsi dans le menu des applications Ubuntu. Pour créer ce lanceur, créer un fichier au format texte que vous appellerez **//nom_du_programme//.desktop**. Dans ce fichier, collez les commandes suivantes (l'exemple ci-dessous est avec le programme [[audacity|Audacity]], adaptez-le à vos besoins) :


  [Desktop Entry]
  Encoding=UTF-8
  Type=Application
  Categories=Audio;AudioVideo;
  Name=Audacity
  Comment=Editions de fichiers audio
  Exec=/home/<votre_nom_utilisateur>/Documents/appimage/audacity-linux-3.1.3-x86_64.AppImage
  Icon=audacity
  StartupNotify=false
  Terminal=false
  Hidden=false

===== Désinstaller un appimage=====

Pour supprimer une application installée par ce format, il suffit de supprimer son fichier appimage, tout simplement.
Effacez aussi le lanceur (s'il existe), qui est probablement dans **/.local/share/applications/**.

===== Intégration au bureau =====

Les logiciels fournis dans ce format ne sont pas réellement installés sur le système, et ne sont donc pas présents dans les menus, il faut manuellement [[:raccourci-lanceur|créer un lanceur]] vers le fichier appimage concerné.

<note>Certains logiciels (comme //Etcher//, //Motrix// ou //[[:Molotov]]//) proposent, au moment de la première utilisation, de créer un lanceur automatiquement, ça reste cependant une pratique peu répandue.

Nous vous conseillons de créer un dossier Appimage dans Documents et y sauvegarder également les icônes de vos applications, afin de faciliter la création des lanceurs.
</note>



Depuis Ubuntu 17.10, rétroportés sous 16.04, il existe des applications d'intégration des paquets **Flatpak**, **Snap**, **Appimage** et des application hébergées sur le Github. Concernant l'Intégration de **Appimage** au sein des différentes interfaces graphiques d'Ubuntu :
    * se référer à [[https://www.linuxuprising.com/2018/04/easily-run-and-integrate-appimage-files.html|Easily Run And Integrate AppImage Files With AppImageLauncher]]  \\ — site : Linuxuprising.com ; auteur : logix ; date : 17 juillet 2018.
    * télécharger le paquet précompilé *.deb sur la page Github dédiée « [[https://github.com/TheAssassin/AppImageLauncher/releases|Appimage Launcher release builds]] ».

<note>**Le projet précédent nommé __Appimaged__ est désormais obsolète**. \\
Ceci ne vous empêche nullement de l'utiliser en complément de Appimage Launcher. Pour l'installer **après avoir installé Appimage Launcher** :
<code bash>wget "https://github.com/AppImage/appimaged/releases/download/continuous/appimaged-x86_64.AppImage"</code>
rendez vous dans votre dossier personnel
<code bash> sudo chmod a+x appimaged-x86_64.AppImage</code>
<code bash>sudo ./appimaged-x86_64.AppImage --install</code>

=============================================== ~oOo~ =====================================================================

__''IMPORTANT''__ : ''Mise à jour de cette note'' \\
**Appimaged et AppimageLauncher sont fortement dépréciés et leur installation déconseillée depuis l'arrivée de [[bauh|Bauh]]**. \\ Ces derniers produisant des bogues. **Ils sont en outre incompatibles avec Bauh**. \\
Si vous avez installé AppimageLaucher manuellement et que vous désirez suivre nos recommandations et souhaitez installer Bauh afin de bénéficier d'un gestionnaire stable pour les fichiers Snaps, Flatpak et Appimage, entrer cette commande dans un terminal :
<code bash>
sudo find / -type f -name "[Aa]pp[Ii]mage[Ll]auncher" -exec rm -f '{}' \;
sudo find / -type f -name "[Aa]ppimaged" -exec rm -f '{}' \; 
</code>

En effet, vous devez désinstaller toute "trace" de ces deux logiciels avant l'utilisation du module Appimage de Bauh. \\
Rendez-vous sur [[bauh|la page de Bauh]].
</note>
===== Voir aussi =====

  * [[https://appimage.org/|Site du Projet]]
  * [[https://bintray.com/probono/AppImages|Divers fichiers AppImage disponibles au téléchargement]]

-----

//Contributeurs : [[:utilisateurs:roschan]]
, ...//